package com.zw.cloud.influxdb.entity;

import lombok.Data;
import org.influxdb.annotation.Column;
import org.influxdb.annotation.Measurement;
import org.influxdb.annotation.TimeColumn;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.Instant;


@Data
@Measurement(name = "monitor_device_target_alert_flink")
public class MonitorDeviceTargetAlertFlink implements Serializable {

    @TimeColumn
    @Column(name = "time")
    private Instant time;

    /**
     * 机构编号
     */
    @Column(name = "orgCode", tag = true)
    private String orgCode;

    /**
     * 设备id
     */
    @Column(name = "deviceId", tag = true)
    private String deviceId;

    /**
     * 指标
     */
    @Column(name = "targetCode", tag = true)
    private String targetCode;

    /**
     * 实际值
     */
    @Column(name = "actuallyValue")
    private BigDecimal actuallyValue;

    /**
     * 告警等级
     */
    @Column(name = "alertLevel")
    private Long alertLevel;

    /**
     * 告警移除时间
     */
    @Column(name = "alertRemoveTime")
    private Long alertRemoveTime;

    /**
     * 告警开始时间
     */
    @Column(name = "alertStartTime")
    private Long alertStartTime;

    /**
     * 告警点位 d27
     */
    @Column(name = "alertType")
    private String alertType;

    /**
     * 告警类型
     */
    @Column(name = "alertTypeName")
    private String alertTypeName;

    /**
     * 采集时间
     */
    @Column(name = "ctime")
    private Long ctime;

    /**
     * deviceCode
     */
    @Column(name = "deviceCode")
    private String deviceCode;

    /**
     * 设备名称
     */
    @Column(name = "deviceName")
    private String deviceName;

    /**
     * 卡号
     */
    @Column(name = "icCard")
    private String icCard;

    /**
     * iotCode
     */
    @Column(name = "iotCode")
    private String iotCode;

    /**
     * 设定值告警
     */
    @Column(name = "isSettingVal")
    private boolean isSettingVal;

    /**
     * 推荐值
     */
    @Column(name = "recommendValue")
    private BigDecimal recommendValue;

    /**
     * 设定值
     */
    @Column(name = "settingValue")
    private BigDecimal settingValue;
}
